package com.example.config;
import com.example.common.ThreadPoolManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

/*
@description:线程池管理器 负责通过线程池管理器创建并注册线程池实例
@ClassName ThreadPoolConfiguration
@author chen
@create 2025-07-04 14:39
@Version 1.0
*/
@Configuration(proxyBeanMethods = false)
public class ThreadPoolConfiguration
{
    /*
     * @param  
     * @==============History===============<br/>;
     * @Description //   创建短信发送线程池
     * 采用默认配置：核心线程数1，最大线程数Integer.MAX_VALUE，队列容量Integer.MAX_VALUE
     * @Date 2025/7/8 
     * @Author < a href="chencheng@prmt.net">chen</ a>;
     */
    @Bean
    public ThreadPoolTaskExecutor smsThreadPool()
    {
        return ThreadPoolManager.newThreadPool("smsThreadPool");
    }

    /*
     * @param  
     * @==============History===============<br/>;
     * @Description //   创建邮件发送线程池
     * 自定义配置：核心线程数10，最大线程数20，队列容量1000
     * @Date 2025/7/8 
     * @Author < a href="chencheng@prmt.net">chen</ a>;
     */
    @Bean
    public ThreadPoolTaskExecutor emailThreadPool()
    {
        // 使用线程池管理器创建线程池
        return ThreadPoolManager.newThreadPool("emailThreadPool", 10, 20, 1000);
    }


}
